// 是否手机号码或者固话
export function validatePhoneTwo(rule, value, callback) {
  const reg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/
  if (value === '' || value === undefined || value == null) {
    callback()
  } else {
    if ((!reg.test(value)) && value !== '') {
      callback(new Error('请输入正确的电话号码或者固话号码'))
    } else {
      callback()
    }
  }
}
// 是否手机号码
export function validatePhone(rule, value, callback) {
  const reg = /^[1][3-9][0-9]{9}$/
  if (value === '' || value === undefined || value == null) {
    callback()
  } else {
    if ((!reg.test(value)) && value !== '') {
      callback(new Error('请输入正确的电话号码'))
    } else {
      callback()
    }
  }
}
// 是否邮箱
export function validateEMail(rule, value, callback) {
  const reg = /^([a-zA-Z0-9]+[-_.]?)+@[a-zA-Z0-9]+\.[a-z]+$/
  if (value === '' || value === undefined || value === null) {
    callback()
  } else {
    if (!reg.test(value)) {
      callback(new Error('请输入正确的邮箱'))
    } else {
      callback()
    }
  }
}
// 是否身份证
export const ID = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('身份证不能为空'))
  }
  if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)) {
    callback(new Error('请输入正确的二代身份证号码'))
  } else {
    callback()
  }
}
// 自动检验工号的范围
export function checkMax20000(rule, value, callback) {
  if (value === '' || value === undefined || value == null) {
    callback()
  } else if (!Number(value)) {
    callback(new Error('工号为8位长度的数字'))
  } else if (value < 10000000 || value > 99999999) {
    callback(new Error('工号为1开头的8位长度的数字'))
  } else {
    callback()
  }
}
// 中文检验
export const validateContacts = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('姓名不能为空'))
  }
  if (!/^[\u0391-\uFFE5A-Za-z]+$/.test(value)) {
    callback(new Error('不可输入特殊字符'))
  } else {
    callback()
  }
}
// 姓名验证
export const validateName = (rule, value, callback) => {
  const reg = /^[\u2E80-\u9FFF]+$/ // Unicode编码中的汉字范围
  if (value && value.length > 0) {
    if (!reg.test(value)) {
      callback(new Error('姓名输入不合法'))
    } else {
      callback()
    }
  } else if (value.length === 0) {
    callback()
  } else {
    callback(new Error('姓名输入不合法'))
  }
}
// 自定义下拉框校验函数
export const isSelect = (rule, value, callback) => {
  if (value === null) { // 如果值是 0，提示用户选择正确的选项
    return callback(new Error('请选择'))
  } else {
    callback()
  }
}
